/*
 * File:   GameManager.h
 * Author: root
 *
 * Created on November 15, 2008, 11:23 PM
 */

#include "GameState.h"
#include "Player.h"

#ifndef _GAMEMANAGER_H
#define	_GAMEMANAGER_H

struct MatchStatistics {
    int loser;
    int initScore[NUM_PLAYERS];
    int score[NUM_PLAYERS];
    int rounds;
};

class GameManager {

protected:
    GameState gameState;
    Player* players[NUM_PLAYERS];
    MatchStatistics matchStatistics;

public:

    GameManager(Player**);
    virtual void run();
    MatchStatistics getMatchStatistics() {
        return matchStatistics;
    }
    const CCardStack& getDrawStack() const {
        return gameState.getDrawStack();
    }
    const CCardStack& getDiscardStack() const {
      return gameState.getDiscardStack();
    }

};

#endif	/* _GAMEMANAGER_H */

